package com.dds.system.domain.union;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.dds.common.annotation.Excel;
import com.dds.common.core.domain.BaseEntity;

/**
 * 商户(线下)订单分润对象 union_shop_order_profit
 * 
 * @author gaolianjie
 * @date 2021-04-01
 */
public class UnionShopOrderProfit extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增id */
    private Integer id;

    /** 订单 ID */
    @Excel(name = "订单 ID")
    private Integer orderId;

    /** 一级商户号 + order_sn */
    @Excel(name = "一级商户号 + order_sn")
    private String tranflow;

    /** 订单类型: 1支付,2退款 */
    @Excel(name = "订单类型: 1支付,2退款")
    private String orderType;

    /** 待分润基数(积分) */
    @Excel(name = "待分润基数(积分)")
    private BigDecimal total;

    /** 待分润数 = total * 0.06 */
    @Excel(name = "待分润数 = total * 0.06")
    private BigDecimal totalProfit;

    /** 高级管理商分润 */
    @Excel(name = "高级管理商分润")
    private BigDecimal advancedManager;

    /** 中级管理商分润 */
    @Excel(name = "中级管理商分润")
    private BigDecimal mediateManager;

    /** 初级管理商分润 */
    @Excel(name = "初级管理商分润")
    private BigDecimal primaryManager;

    /** 服务商分润 */
    @Excel(name = "服务商分润")
    private BigDecimal serviceProvider;

    /** 运营中心的分润 */
    @Excel(name = "运营中心的分润")
    private BigDecimal operationProfit;

    /** 推荐分润 */
    @Excel(name = "推荐分润")
    private BigDecimal recommender;

    /** 推荐类型: 1用户推荐,2商户推荐 */
    @Excel(name = "推荐类型: 1用户推荐,2商户推荐")
    private String userRelType;

    /** 平台分润 */
    @Excel(name = "平台分润")
    private BigDecimal platform;

    /** 总的附加分润 */
    @Excel(name = "总的附加分润")
    private BigDecimal totalAttach;

    /** 服务商附加分润. 在店铺折扣小于8.0时,取差值部分的70% */
    @Excel(name = "服务商附加分润. 在店铺折扣小于8.0时,取差值部分的70%")
    private BigDecimal serviceProviderAttach;

    /** 平台附加分润. 在店铺折扣小于8.0时,取差值部分的30% */
    @Excel(name = "平台附加分润. 在店铺折扣小于8.0时,取差值部分的30%")
    private BigDecimal platformAttach;

    public void setId(Integer id) 
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }
    public void setOrderId(Integer orderId) 
    {
        this.orderId = orderId;
    }

    public Integer getOrderId() 
    {
        return orderId;
    }
    public void setTranflow(String tranflow) 
    {
        this.tranflow = tranflow;
    }

    public String getTranflow() 
    {
        return tranflow;
    }
    public void setOrderType(String orderType) 
    {
        this.orderType = orderType;
    }

    public String getOrderType() 
    {
        return orderType;
    }
    public void setTotal(BigDecimal total) 
    {
        this.total = total;
    }

    public BigDecimal getTotal() 
    {
        return total;
    }
    public void setTotalProfit(BigDecimal totalProfit) 
    {
        this.totalProfit = totalProfit;
    }

    public BigDecimal getTotalProfit() 
    {
        return totalProfit;
    }
    public void setAdvancedManager(BigDecimal advancedManager) 
    {
        this.advancedManager = advancedManager;
    }

    public BigDecimal getAdvancedManager() 
    {
        return advancedManager;
    }
    public void setMediateManager(BigDecimal mediateManager) 
    {
        this.mediateManager = mediateManager;
    }

    public BigDecimal getMediateManager() 
    {
        return mediateManager;
    }
    public void setPrimaryManager(BigDecimal primaryManager) 
    {
        this.primaryManager = primaryManager;
    }

    public BigDecimal getPrimaryManager() 
    {
        return primaryManager;
    }
    public void setServiceProvider(BigDecimal serviceProvider) 
    {
        this.serviceProvider = serviceProvider;
    }

    public BigDecimal getServiceProvider() 
    {
        return serviceProvider;
    }
    public void setOperationProfit(BigDecimal operationProfit) 
    {
        this.operationProfit = operationProfit;
    }

    public BigDecimal getOperationProfit() 
    {
        return operationProfit;
    }
    public void setRecommender(BigDecimal recommender) 
    {
        this.recommender = recommender;
    }

    public BigDecimal getRecommender() 
    {
        return recommender;
    }
    public void setUserRelType(String userRelType) 
    {
        this.userRelType = userRelType;
    }

    public String getUserRelType() 
    {
        return userRelType;
    }
    public void setPlatform(BigDecimal platform) 
    {
        this.platform = platform;
    }

    public BigDecimal getPlatform() 
    {
        return platform;
    }
    public void setTotalAttach(BigDecimal totalAttach) 
    {
        this.totalAttach = totalAttach;
    }

    public BigDecimal getTotalAttach() 
    {
        return totalAttach;
    }
    public void setServiceProviderAttach(BigDecimal serviceProviderAttach) 
    {
        this.serviceProviderAttach = serviceProviderAttach;
    }

    public BigDecimal getServiceProviderAttach() 
    {
        return serviceProviderAttach;
    }
    public void setPlatformAttach(BigDecimal platformAttach) 
    {
        this.platformAttach = platformAttach;
    }

    public BigDecimal getPlatformAttach() 
    {
        return platformAttach;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderId", getOrderId())
            .append("tranflow", getTranflow())
            .append("orderType", getOrderType())
            .append("total", getTotal())
            .append("totalProfit", getTotalProfit())
            .append("advancedManager", getAdvancedManager())
            .append("mediateManager", getMediateManager())
            .append("primaryManager", getPrimaryManager())
            .append("serviceProvider", getServiceProvider())
            .append("operationProfit", getOperationProfit())
            .append("recommender", getRecommender())
            .append("userRelType", getUserRelType())
            .append("platform", getPlatform())
            .append("totalAttach", getTotalAttach())
            .append("serviceProviderAttach", getServiceProviderAttach())
            .append("platformAttach", getPlatformAttach())
            .append("createTime", getCreateTime())
            .toString();
    }
}
